<?php if ( ! defined('FCPATH')) exit('No direct script access allowed');
/**
* Gestion de la session
* @author Richard G
* @package Layout
*/
class User_session
{

	/**
	* Construit de la gestion de la session
	*/
	public function __construct()
	{
		@session_start();
	}

	/**
	* Get une valeur dans la session
	* @param objet $key Regarde si la clef existe dans la session
	*					Si la clef est un tableau, on regarde en profondeur
	* @param objet $return Valeur retourné si la clef n'est pas trouve
	*/
	public function get_value($key, $return = false)
	{
		if(is_array($key)) {
			$tmpSession = $_SESSION;
			foreach($key as $v) {
				if(is_array($tmpSession) && isset($tmpSession[$v])) {
					$tmpSession = $tmpSession[$v];
				}elseif(isset($tmpSession->{$v})) {
					$tmpSession = $tmpSession->{$v};
				}else {
					unset($tmpSession);
					return $return;
				}
			}
			return $tmpSession;
		}elseif(is_array($_SESSION) && isset($_SESSION[$key])) {
			return $_SESSION[$key];
		}elseif(isset($_SESSION->{$key})) {
			return $_SESSION->{$key};
		}
		return $return;
	}

	/**
	* Permet d'assigner une valeur à la session
	* @param string $key clef où affecter la valeur
	* @param objet $value Valeur a assigner a la clef
	*/
	public function set_value($key, $value)
	{
		$_SESSION[$key] = $value;
	}

}